package com.yidu.hbats.action.rival;

import com.yidu.hbats.model.AtsRival;
import com.yidu.hbats.model.AtsRivalResult;
import com.yidu.hbats.service.rival.AtsRivalResultService;
import com.yidu.hbats.service.rival.AtsRivalService;
import com.yidu.utils.Message;
import com.yidu.utils.Page;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.annotation.Resource;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @program: 272
 * @description:  对手比赛信息
 * @author: 陈啸
 * @create: 2019-11-12 18:39
 */
@Controller
@RequestMapping("/atsRivalResult")
public class AtsRivalResultContoller {
    @Resource
    private AtsRivalResultService atsRivalResultService;
    @Resource
    private AtsRivalService atsRivalService;

    /**
     * 查询所有
     * @param atsRivalResult
     * @param page
     * @return
     */
    @ResponseBody
    @RequestMapping("findAll")
    public Map findAll(AtsRivalResult atsRivalResult, Page page){
        Map<String,Object> map = new HashMap();
        List<AtsRivalResult> list = atsRivalResultService.selectAll(atsRivalResult,page);
        int count = atsRivalResultService.count(atsRivalResult);
        map.put("code",0);
        map.put("msg","");
        map.put("count",count);
        map.put("data",list);
        return map;
    }
    /**
     * 新增和修改
     * @param atsRivalResult
     * @return
     */
    @ResponseBody
    @RequestMapping("insertAndUpdate")
    public Message insertAndUpdate(AtsRivalResult atsRivalResult){
        //对手信息id修改传入比赛信息
        AtsRival atsRival = atsRivalService.updateQuery(atsRivalResult.getRivId());
        //传入比赛信息姓名
        atsRivalResult.setRivName(atsRival.getRivName());
        //创建Message
        Message message = new Message();
        //变量
        int cunt = 0;
        //判断id是否为空
        if(atsRivalResult.getResultId() !=null && !"".equals(atsRivalResult.getResultId())){
            //保存到修改方法
            cunt = atsRivalResultService.update(atsRivalResult);
        }else{
            //设置状态
            atsRivalResult.setIsva(1);
            //设置时间
            atsRivalResult.setCreatTime(new Date());
            //保存到新增方法
            cunt =  atsRivalResultService.insert(atsRivalResult);
        }
        message.setNum(1);
        //结果
        if( cunt >0) {
            message.setMsg("编辑成功");
        }else{
            message.setMsg("编辑失败");
        }
        return message;
    }
    /**
     * 逻辑删除
     * @param resultId
     * @return
     */
    @ResponseBody
    @RequestMapping("updateDelete")
    public Message updateDelete(Integer resultId){
        AtsRivalResult atsRivalResult = new AtsRivalResult();
        atsRivalResult.setResultId(resultId);
        atsRivalResult.setIsva(0);
        atsRivalResultService.updateDelete(atsRivalResult);
        Message message = new Message();
        message.setNum(1);
        message.setMsg("删除成功");
        return message;
    }
    /**
     * 根据ID查询，修改的显示
     * @param resultId
     * @return
     */
    @ResponseBody
    @RequestMapping("updateQuery")
    public AtsRivalResult updateQuery(Integer resultId){

        return atsRivalResultService.updateQuery(resultId);
    }

    /**
     * 批量删除
     * @param ids
     * @return
     */
    @ResponseBody
    @RequestMapping("batchDelete")
    public Message batchDelete(String ids){
        //创建Message
        Message message = new Message();
        //判断ids是否为空
        if(ids == "" || ids == null){
            //设置值
            message.setNum(0);
            message.setMsg("删除失败");
            //返回结果
            return message;
        }else{
            //传入的批量idss
            String[] idss = ids.split(",");
            for(int i = 0;i<idss.length;i++){
                //创建AtsRivalResult对象
                AtsRivalResult atsRivalResult = new AtsRivalResult();
                //保存id
                atsRivalResult.setResultId(Integer.valueOf(idss[i]));
                //设置状态
                atsRivalResult.setIsva(0);
                //保存到删除的方法
                atsRivalResultService.updateDelete(atsRivalResult);
            }
            //设置值
            message.setNum(1);
            message.setMsg("删除成功");
            return message;
        }
    }

}
